// ABC414 E.cpp
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
const ll MOD = 998244353;

// 快速幂函数，计算a^b % MOD
ll fast_pow(ll a, ll b) {
  ll res = 1;
  a %= MOD;
  while (b > 0) {
    if (b & 1)
      res = res * a % MOD;
    a = a * a % MOD;
    b >>= 1;
  }
  return res;
}

// 求逆元函数，当MOD是质数时使用
ll inv(ll x) { return fast_pow(x, MOD - 2); }

int main() {
  ll n;
  cin >> n;

  
  // 计算1到n的和模MOD
  // n能达到 10^12  Long Long范围9*10^18 相乘即爆掉了
  // ll ans1 = (n + 1)  * n  / 2 % MOD;
  ll ans  = (n + 1) % MOD * (n % MOD) % MOD * inv(2) % MOD;

  //  《算法竞赛》下册P450 有模板
  // 数论分块模板：枚举所有可能的floor(n/L)值

  // 使用数论分块计算另一种求和方式,对于b从1到n，sum_{b=1}^n floor(n/b)

  // 留意 a>b>c，  枚举 b的值
  for (ll L = 1; L <= n;) {
    // 计算当前块的最大R值，使得floor(n/L) == floor(n/R)
    ll R = n / (n / L);
    // 将当前块的结果累加到ans2中
    ans = (ans - ((R - L + 1) %MOD)* ((n / L) % MOD) % MOD + MOD) % MOD;
    L = R + 1; // 移动到下一个块
  }
  // cout << ans1 << " " << ans2 << endl;

  cout << ans % MOD << '\n';

  return 0;
}